A computer program written to solve a particular problem or to be used in a particular user-defined application.